Secrets:
Keys:
Certificates:
Below is a simplified example demonstrating how to use the Azure Key Vault REST API to interact with secrets. This example performs basic operations such as creating, retrieving, updating, and deleting a secret. Ensure you have the necessary Azure AD authentication details and replace placeholders with your actual values.
import requests
# Specify your Azure Key Vault details
key_vault_url = 'https://your-key-vault-name.vault.azure.net'
secret_name = 'your-secret-name'
secret_value = 'your-secret-value'
api_version = '7.2' # Replace with the appropriate API version
# Azure AD authentication details
tenant_id = 'your-tenant-id'
client_id = 'your-client-id'
client_secret = 'your-client-secret'
resource_url = 'https://vault.azure.net'
# Get Azure AD token for authentication
token_endpoint = f'https://login.microsoftonline.com/{tenant_id}/oauth2/token'
token_data = {
'grant_type': 'client_credentials',
'client_id': client_id,
'client_secret': client_secret,
'resource': resource_url
}
token_response = requests.post(token_endpoint, data=token_data)
access_token = token_response.json()['access_token']
# Create a secret in Azure Key Vault
create_secret_endpoint = f'{key_vault_url}/secrets/{secret_name}/?api-version={api_version}'
create_secret_headers = {'Authorization': f'Bearer {access_token}'}
create_secret_data = {'value': secret_value}
create_secret_response = requests.put(create_secret_endpoint, headers=create_secret_headers, json=create_secret_data)
# Retrieve the secret from Azure Key Vault
get_secret_endpoint = f'{key_vault_url}/secrets/{secret_name}/?api-version={api_version}'
get_secret_response = requests.get(get_secret_endpoint, headers=create_secret_headers)
retrieved_secret_value = get_secret_response.json()['value']
print(f'Retrieved Secret: {retrieved_secret_value}')
# Update the secret in Azure Key Vault
updated_secret_value = 'new-secret-value'
update_secret_data = {'value': updated_secret_value}
update_secret_response = requests.set(update_secret_endpoint, headers=create_secret_headers, json=update_secret_data)
# Delete the secret from Azure Key Vault
delete_secret_endpoint = f'{key_vault_url}/secrets/{secret_name}/?api-version={api_version}'
delete_secret_response = requests.delete(delete_secret_endpoint, headers=create_secret_headers)
This example demonstrates how to perform basic operations with Azure Key Vault secrets using the requests library in Python. Ensure that you replace the placeholder values with your actual Azure Key Vault details and Azure AD authentication information.
For a production environment, it's recommended to use Azure SDKs for Python, such as azure-keyvault-secrets, for a more convenient and secure approach. Install the required library using:
pip install azure-keyvault-secrets